package com.cotacao;

import java.util.ArrayList;
import java.util.List;

import com.controller.ProdutoController;
import com.cotacao.R;
import com.dao.ProdutoDao;
import com.dao.ProdutoMarcaDao;
import com.database.TransactionManager;
import com.model.ProdutoBean;
import com.model.ProdutoMarcaBean;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class Produto extends Activity {

	private Intent i;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		final TransactionManager transaction = new TransactionManager(getApplicationContext());
		transaction.start();
        setContentView(R.layout.activity_produto);
        Button btn = (Button) findViewById(R.id.voltar2);
		Button btn1 = (Button) findViewById(R.id.cadastrar2);

		i = new Intent(this, Cotacao.class);
		TableView(transaction);
		
        ProdutoMarcaDao marDao = new ProdutoMarcaDao();
        final List<ProdutoMarcaBean> marList = marDao.getAll(transaction);
		
        spinnerI(marList);
		
		btn1.setOnClickListener(new View.OnClickListener() {

			public void onClick(View v) {
				
				Spinner spinner = (Spinner) findViewById(R.id.spinner3);
				long produtoId = spinner.getSelectedItemPosition();
				
				EditText et = (EditText) findViewById(R.id.editDesc);
				EditText et1 = (EditText) findViewById(R.id.editCodBarra);
				
				String descProduto = et.getText().toString();
				String codBarra = et1.getText().toString();
				             
				ProdutoMarcaBean marca = marList.get((int) produtoId);
				ProdutoController prod = new ProdutoController();
				try {
					prod.inserir(transaction,marca.getId(), descProduto, codBarra);
					transaction.commit();
					et.setText("");
					et1.setText("");
					//Toast.makeText(this, "Registro salvo com sucesso", Toast.LENGTH_LONG).show();
				} catch (Exception e) {
					Log.d("ERROR", e.getMessage());
					transaction.rollback();
				} finally{
					finish();				
				}
			}
		});

		btn.setOnClickListener(new View.OnClickListener() {

			public void onClick(View v) {
				transaction.rollback();
				finish();				
			}
		});
	}
	protected void spinnerI(List<ProdutoMarcaBean> list) {
				
		ArrayList<String> result = new ArrayList<String>();
		for (ProdutoMarcaBean Bean : list) {
			result.add(Bean.getDescricao());
		}

		ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, result);
		Spinner spinner = (Spinner) findViewById(R.id.spinner3) ;
		spinner.setAdapter(arrayAdapter);
		
	};
	
	protected void TableView(TransactionManager transaction) {
		ProdutoDao dao = new ProdutoDao();
		List<ProdutoBean> prodList = dao.getAll(transaction);

		ArrayList<String> list = new ArrayList<String>();
		for (ProdutoBean Bean : prodList) {
			list.add(Bean.getDescricao());
		}

		ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
		ListView listView = (ListView) findViewById(R.id.listView3);
		listView.setAdapter(arrayAdapter);
		OnItemClickListener listener = new OnItemClickListener() {

			public void onItemClick(AdapterView<?> adp, View v,	int pos, long id) {
//				Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT ).show();
			}
		};
		listView.setOnItemClickListener(listener);
	}
       
}
